1. Field of the Invention
The present invention relates in general to data processing systems and, in particular, to a data processing system and method in a computer network for improving performance of a link aggregation system to minimize the number of flush operations. Still more particularly, the present invention relates to a self-tuning link aggregation system included within a computer network.
2. Description of the Related Art
In a networking environment, it is typical that a plurality of devices will be linked together for the purpose of transmitting data from one device to another in the network. In a large network, it would be uneconomical to provide a specific data link connecting each device to each of the other devices in the network. In order to provide connectivity from each device to each of the other devices in the network in an efficient and economical manner, a plurality of methods have been developed.
One well known method of distributing data between devices within a network is through switches. Switches may be utilized within the network to receive data from a plurality of devices and distribute the data to a plurality of devices to reduce the amount of data lines required to distribute data. To utilize switches to communicate between devices, each device has a specific address. Specifically in an Ethernet switching environment, each device in the network has a media access control (MAC) address, which uniquely identifies the device in the network. Frames of data are delivered to a MAC destination address (DA) and senders are recognized by a MAC source address (SA). Each switch, and each port on a switch, supports a finite number of MAC addresses. Ideally, the overall number of MAC addresses distributed by a switch should be large, so the switch can support a large number of devices.
In addition to supporting a large number of devices, a switch should comprise the ability to handle transfer of large amounts of data through a network. For a switch to handle quick transfer of large amounts of data, often link aggregation is utilized in order to allow a switch to support a higher bandwidth interface to increase the rate of data transfer.
Link aggregation is a technique that allows parallel physical links, also called pipes, between switches or between a switch and a server to be used simultaneously, multiplying the bandwidth between the devices. Link aggregation may be further defined as a method of grouping physical link segments of the same media type and speed, and treating them as if they were part of a single, logical link segment. For example, two 100 Mbps links between switches may be grouped into a link aggregation and treated as a single 200 Mbps link to create a higher bandwidth interface between the two switches.
In order to optimize data transmission across a link aggregation, a load balancing scheme is preferably implemented. Load balancing schemes attempt to distribute data in a balanced manner across the links of the link aggregation in order to optimize the available bandwidth. One load balancing technique may measure the bandwidth through each link and adjust data to move through under-utilized links to reduce traffic through over-utilized links. Other load balancing techniques may utilize less hardware through a table with a hashing scheme to distribute data for transmission across the link aggregation.
The load on a single link may become so heavy that the link becomes congested. When the link is congested, one or more flows, also called sessions, must be flushed from the link. Flushing involves stopping a flow, sending a stop message to the end point which was receiving the flow, receiving an acknowledgment, and resubmitting the flow for transmission utilizing a link. The flows that were flushed are then reassigned to links that are not as busy. The performance of a link aggregation is greatly reduced when flush operations occur.
Therefore a need exists for a data processing system and method for improving performance of a link aggregation system to minimize the number of flush operations.
A data processing system and method in a computer network are disclosed for improving performance of a link aggregation system included in the network. Parameters are established which are utilized to determine performance criteria of the link aggregation system. A performance of the link aggregation system is determined by determining the performance criteria. The performance of the link aggregation system changes in response to a flow traffic burden on the link aggregation system changing. The link aggregation system dynamically modifies the parameters in response to the changing performance of the link aggregation system. The link aggregation system is self-tuning and capable of automatically adjusting to a changing flow traffic burden on the link aggregation system.
The above as well as additional objectives, features, and advantages of the present invention will become apparent in the following detailed written description.